From 46828a41b020d59eb764b53df47c81423f8bdc24 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Mon, 9 Jun 2014 09:00:27 -0400 Subject: [PATCH] GtkLayout: Use G_PARAM_EXPLICIT_NOTIFY --- gtk/gtklayout.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c index 30e551a600..dd8f68ed10 100644 --- a/gtk/gtklayout.c +++ b/gtk/gtklayout.c @@ -675,7 +675,7 @@ gtk_layout_class_init (GtkLayoutClass *class) 0, G_MAXINT, 100, - GTK_PARAM_READWRITE)); + GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); g_object_class_install_property (gobject_class, PROP_HEIGHT, g_param_spec_uint ("height", @@ -684,7 +684,7 @@ gtk_layout_class_init (GtkLayoutClass *class) 0, G_MAXINT, 100, - GTK_PARAM_READWRITE)); + GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY)); widget_class->realize = gtk_layout_realize; widget_class->unrealize = gtk_layout_unrealize; widget_class->map = gtk_layout_map; @@ -752,20 +752,26 @@ gtk_layout_set_property (GObject *object, gtk_layout_do_set_vadjustment (layout, g_value_get_object (value)); break; case PROP_HSCROLL_POLICY: - priv->hscroll_policy = g_value_get_enum (value); - gtk_widget_queue_resize (GTK_WIDGET (layout)); + if (priv->hscroll_policy != g_value_get_enum (value)) + { + priv->hscroll_policy = g_value_get_enum (value); + gtk_widget_queue_resize (GTK_WIDGET (layout)); + g_object_notify_by_pspec (object, pspec); + } break; case PROP_VSCROLL_POLICY: - priv->vscroll_policy = g_value_get_enum (value); - gtk_widget_queue_resize (GTK_WIDGET (layout)); + if (priv->vscroll_policy != g_value_get_enum (value)) + { + priv->vscroll_policy = g_value_get_enum (value); + gtk_widget_queue_resize (GTK_WIDGET (layout)); + g_object_notify_by_pspec (object, pspec); + } break; case PROP_WIDTH: - gtk_layout_set_size (layout, g_value_get_uint (value), - priv->height); + gtk_layout_set_size (layout, g_value_get_uint (value), priv->height); break; case PROP_HEIGHT: - gtk_layout_set_size (layout, priv->width, - g_value_get_uint (value)); + gtk_layout_set_size (layout, priv->width, g_value_get_uint (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); -- 2.30.2